Każdy kod sekwencji musi być unikalny, jednak wiele typów dokumentów może posiadać przypisany taki sam kod sekwencji. Należy więc upewnić się, że użytkownik nie duplikuje struktury dla typów dokumentów, które muszą posiadać unikalne klucze, ponieważ może to spowodować anulowanie transakcji.
Wartość początkową numeru sekwencji dla każdego składnika licznika można ustawić albo poprzez zaznaczenie pola Wyzeruj (ZERO), albo przy użyciu funkcji Wartości numerów sekwencji (MODCPT). Ta funkcja jest w szczególności przydatna, jeśli należy dokonać odzyskiwania danych, ponieważ można zdefiniować kolejne, chronologiczne liczby dla restartu systemu.
Sage zaleca usunięcie funkcji Wartości numerów sekwencji (MODCPT) z menu po wdrożeniu systemu lub nowego modułu. Pozwoli to na zachowanie chronologii numerów sekwencji.
Odniesienie do dokumentacji Implementacja
Funkcja Struktury składa się z pojedynczej karty podzielonej na kluczowe elementy kodu sekwencji.
Prezentacja
Każdy blok odpowiada kluczowemu elementowi, który należy zdefiniować dla kodu sekwencji. Blok Składniki może się różnić. Z tego bloku należy skorzystać, aby zdefiniować składniki, które tworzą strukturę numeru sekwencji dla organizacji.
Zamknij
Pola
Na tej karcie występują następujące pola :
Blok numer 1
| Ten kod identyfikuje licznik referencyjny podczas generowania automatycznego numeru dla dokumentu. Licznik to pole alfanumeryczne liczące od 1 do 20 znaków. Składa się ono z serii składników, które są łączone od lewej do prawej w celu stworzenia wartości licznika. |
| Należy wprowadzić opis rekordu. Długi tytuł używany jest w tytułach ekranów i raportów. |
Poziom definicji
| Z tego przycisku opcji należy skorzystać, aby zdefiniować, czy seria numeru sekwencji jest dostępna dla całego folderu, dla jednej firmy, czy dla jednej lokalizacji.
|
Poziom zerowania
| Z tego przycisku opcji należy skorzystać, aby określić, czy istnieje unikalna wartość licznika w danym momencie lub wg miesiąca, roku, roku obrotowego lub okresu księgowego. Aby uniknąć duplikowania zakłada to, że odpowiednie składniki są zdefiniowane w liczniku, w szczególności dla roku, miesiąca, tygodnia lub dnia. To pole w połączeniu z polem Poziom definicji i przy użyciu dodatkowego kodu pola (zob. Dodatkowe pole) definiuje, ile sekwencji numerowania zostanie przypisanych do licznika numeru sekwencji (będzie to unikalna sekwencja dla sekwencji wg miesiąca, lokalizacji lub dodatkowej wartości). W ramach tych dwóch wartości można wprowadzić składniki mające na celu uniknięcie duplikowania numerów. W ten sposób, np. jeśli zdefiniowano roczny poziom zerowania to rok musi być składnikiem serii numeru sekwencji. Podobnie, jeśli seria numeru sekwencji została zdefiniowana wg firmy to lokalizacja lub firma muszą być składnikiem serii numeru sekwencji. |
Typ
| Licznik zawsze tworzy klucze alfanumeryczne. Jeśli Typ zdefiniowano jako Numeryczny to początkowe zera są usuwane w momencie zwracania wartości. Licznik, który został zadeklarowany jako numeryczny z 6 cyframi rozpocznie się więc od wartości „1”, a licznik alfanumeryczny z 6 znakami rozpocznie się od wartości „000001”.
|
Tabela Składniki
| Numer pozycji. |
| Należy zdefiniować każdy typ składnika do użycia w celu utworzenia struktury licznika numeru sekwencji. |
| Zob. informacje na temat typu składnika do użycia w celu utworzenia struktury licznika numeru sekwencji. Każdy składnik ma wcześniej ustawioną lub maksymalną długość:
|
| Należy wprowadzić stały ciąg znaków. Wprowadzić można dowolne znaki alfanumeryczne, w tym znaki specjalne takie, jak / i %. Wartości nie trzeba umieszczać w cudzysłowie ani między apostrofami. |
Blok numer 6
| Sage zaleca ustawienie tego przycisku opcji jako Normalne. Szczegółowe informacje na temat tego pola znajdują się w opisie dla Typów sekwencji. |
| To pole jest uzupełniane przy użyciu Typu sekwencji ustawionego jako Sekwencja bazy danych. Wyświetla ono nazwę pliku tabeli powiązanej z numerami. |
| To pole jest uzupełniane przy użyciu Typu sekwencji ustawionego jako Zgrupowane. Wyświetla ono informację, ile numerów zostanie przypisanych jednocześnie. |
Inne
| To pole należy zaznaczyć, aby aktywować kontrolę chronologii dla dokumentów, w których obecna legislacja wymaga, aby używane były numery wg daty w porządku chronologicznym. Jest to wymóg prawny np. we Włoszech.
|
| To pole wyświetla maksymalną, dozwoloną długość licznika numeru sekwencji. |
| To pole należy zaznaczyć, aby ustawić początkową wartość numeru sekwencji jako zero. Pierwszy wygenerowany numer sekwencji rozpocznie się od 1. |
| To pole wyświetla kod legislacji kraju, np. FRA dla legislacji francuskiej. Kod ten, powiązany z firmą, pozwala wpływać na wstępnie zdefiniowane zasady i ustawienia, które są konieczne, aby zapewnić zgodność z wymaganiami prawnymi dla danego kraju. Kod ten może zawierać informacje na temat reguł obliczeń, raportów prawnych, deklaracji, zarządzania podatkami itp. Legislacje są zdefiniowane w tabeli dodatkowej 909. Na poziomie legislacji można również zdefiniować parametry ogólne. |
Zamknij
Typ składnika | Wyjaśnienia |
Stała | Stały ciąg znaków. Wartość należy wprowadzić w kolumnie Formuła. Wartości nie trzeba umieszczać w cudzysłowie ani między apostrofami. |
Rok | Długość = 1 odpowiada ostatniej cyfrze roku (0 – 9). |
Miesiąc | Długość = 2 odpowiada miesiącowi zapisanemu cyframi (00 – 12). |
Tydzień | Długość = 2 odpowiada numerowi tygodnia (00 – 53). |
Dzień | Długość = 1 dnia w odpowiada dniowi tygodnia zapisanemu cyframi (1 – 7). |
Firma | Kod firmy, do której przypisywana jest transakcja (od jednego do pięciu znaków). |
Lokalizacja | Kod lokalizacji, do której przypisywana jest transakcja (trzy znaki). |
Numer sekwencji | Przyrostowa część struktury numeru sekwencji. Ta wartość przyrasta o 1. Początkowa wartość to 1. |
Informacja dodatkowa | Dodatkowy składnik. Ta wartość zależy od modułu, który używa składnika numeru sekwencji. |
Rok obrotowy | Numer roku obrotowego jest definiowany przy użyciu od jednej do trzech cyfr (dla pierwszego otwartego roku obrotowego wartość równa się 1). Wartość tego składnika jest ewidentna, jeśli istnieją przeciwstawne lata obrotowe. Jeśli tak jest to występuje przerwa w numerze podczas zmiany roku. Może się do wydarzyć w środku roku obrotowego. |
Okres | Numer okresu składa się z od jednej do trzech cyfr (rozpoczynając od 1 do maksymalnej liczby okresów w roku obrotowym). |
Formuła | Używana do wprowadzania formuły w strukturze numeru sekwencji. Jest to niezależna seria znaków wprowadzona w wygenerowanym numerze sekwencji. Formuła może być ciągiem alfanumerycznym, numerycznym lub datą i może liczyć maksymalnie 20 znaków. Należy zauważyć, że znaki alfanumeryczne są konwertowane do wielkich liter, a następnie formatowane do dokładnej liczby zaplanowanych znaków. |
Kod dodatkowego pola jest używany do zdefiniowania segmentu numeru sekwencji w zależności od kontekstu, bez konieczności definiowania dwóch liczników numerów sekwencji. Ważne jest zrozumienie, że w tej sytuacji istnieje chronologiczna sekwencja dla każdej, różnej wartości przechowywanej przez kod dodatkowego pola.
Użycie kodu dodatkowego pola zależy od kontekstu używanego dla każdej funkcji.
Dla funkcji Administratora kod dodatkowego pola może być używany dla licznika numeru sekwencji numerów partii w tymczasowej przestrzeni przechowywania importu/eksportu. Zawiera on kod używanego szablonu importu/eksportu.
Lista kodów dodatkowego pola używanych w modułach biznesowych jest zdefiniowana w załączonej dokumentacji.
We wszystkich innych przypadkach numer dodatkowego pola nie jest przypisywany. Można jednak użyć dedykowanego punktu wejścia w celu podania konkretnej wartości dla numeru dodatkowego pola w danym kontekście.
Można zintegrować kod dodatkowego pola w sekwencji numerowania bez użycia innej sekwencji przez wartość licznika. Aby to osiągnąć należy uwzględnić składnik typu Formuła z formułą [L]ADDITIONAL FIELD (ADDITIONAL FIELD) jako zmienną lokalną znaną podprogramowi numeru sekwencji, który przechowuje bieżącą wartość dodatkowego pola.
Typ sekwencji może być znaczący dla instalacji klienta z dużą liczbą stacji roboczych, które tworzą dużą liczbę dokumentów danego typu. W zależności od użytego typu sekwencji mogą wystąpić konflikty transakcji powiązane z otrzymywaniem numerów z liczników numerów sekwencji.
Alokacja numeru, zazwyczaj podczas tworzenia dokumentu (zamówienia, księgowania, faktury itp.) jest wykonywana w samej transakcji tworzenia. Oznacza to, że numer nie zostanie utracony w przypadku anulowania transakcji poprzez przywrócenie poprzedniego stanu. Do momentu ukończenia transakcji tworzenia (która może trwać kilka sekund) wszystkie jednoczesne transakcje tworzenia kończą się niepowodzeniem dla tego samego typu dokumentu, ponieważ nie mogą one uzyskać numeru. Wykonane zostanie przywrócenie poprzedniego stanu, a następnie nowa próba (która rozpoczyna się po ukończeniu pierwszej transakcji).
Liczba kolejnych prób wykonywanych w wyniku tego typu blokady przed anulowanie transakcji z błędami może zostać ustawiona przy użyciu definicji ROLLBACK w rozdziale SUP. Jeśli wystąpi konflikt to wartość tej definicji może zostać zwiększona. Należy jednak pamiętać, że zużycie zasobów serwera danych może wzrosnąć i negatywnie wpłynąć na wydajność. Można dostosować typ sekwencji w celu jej poprawy.
I odwrotnie, normalny licznik numeru sekwencji gwarantuje przestrzeganie porządku sekwencji w czasie: Dwa kolejne wywoływania w czasie do danego licznika numeru sekwencji dostarczają przyrastające numery w związku z tym, że wszystkie warunki powiązane ze strukturą licznika numeru sekwencji (firmą, lokalizacją, okresem, dodatkiem) są równe. Co więcej, nie może wystąpić strata numeru dotycząca blokady. Ten typ licznika numeru sekwencji jest więc zalecany dla dokumentów prawnych, dla których wymagane są restrykcyjne sekwencje bez „przerw” w numerach.
Numery sekwencji są alokowane przy użyciu grupy N numerów (gdzie N to definicja). Połączenie jest więc mniej ważne, ponieważ tylko przypisanie do N może spowodować połączenie z innymi przypisaniami używającymi dostępnego numeru.
I odwrotnie, przypisanie sekwencji numeru nie jest gwarantowane, a strata numerów jest możliwa dla licznika numeru sekwencji w zależności od miesiąca lub okresu. Na przykład, jeśli N równa się 10 to cyfra od 1 do 8 jest już przypisana i wykonywane są 3 transakcje tworzenia. Pierwsza zostanie przypisana do numeru 9, druga do numeru 10, trzecia nie może znaleźć dostępnego numeru w pierwszej grupie 10 numerów. Zakres od 11 do 20 zostanie wtedy utworzony, co spowoduje, że pierwszy dostępny numer zostanie przypisany jako 11. Jeśli w między czasie pierwsza transakcja nie powiedzie się z innych powodów to numer 9 stanie się dostępny dla nowej transakcji. Jeśli żadna kolejna transakcja nie jest rozpoczynana to występuje sytuacja, w której wszystkie numery między 1 a 11, za wyjątkiem 9, są używane i, gdzie kolejne numery do przypisania będą w następującym porządku: 9, a następnie 12 itd. Oznacza to brak ścisłego przestrzegania numerów sekwencji. Jeśli w ciągu dnia nie dochodzi do żadnego innego tworzenia dokumentu i jeśli dokument jest tworzony kolejnego dnia to utworzony zostanie dokument z datą D numerowany jako 11 oraz dokument z datą D+1 numerowany jako 9. Co więcej, jeśli liczniki numerów sekwencji zawierają numer miesiąca i ta sytuacja występuje na koniec miesiąca to wystąpi przerwa w sekwencji numerowania (ale można to wyśledzić, ponieważ numer znajduje się na liście numerów do przypisania).
Przypisanie numeru dokonywane jest poza transakcją, tzn. brak połączenia, ale nie można przywrócić poprzedniej wartości (jeśli numer nie jest używany to jest on tracony). Ten typ licznika numeru sekwencji opiera się o sekwencję bazy danych. Dla każdej tabeli w bazie danych Safe X3 tworzy numer sekwencji, który jest normalnie z nim powiązany w celu otrzymania numeru technicznego. Należy zauważyć, że to numerowanie nie jest nigdy resetowane do 0 (a więc należy zaplanować dużą liczbę cyfr powiązanych z sekwencją numerowania w sekwencji numerów seryjnych). Jest ono również restrykcyjnie sekwencyjne (porządek przypisywanych numerów zawsze wzrasta), jednakże można posiadać przerwy w sekwencji zarówno bez ich uzasadniania, jak i odzyskiwania. Te cechy są wykorzystywane od momentu, gdy występuje potrzeba unikalnego numeru technicznego, dla którego uzasadnienie przerw w sekwencji jest wymagane.
Zalety i wady różnych typów liczników numerów sekwencji zostały podsumowane w poniższej tabeli:
Typ licznika numeru sekwencji | Sekwencja przyrastająca | Strata numeru | Konflikty między wieloma użytkownikami |
Normalnie | Zawsze | Nigdy | Silne |
Zgrupowane | Nie zawsze | Na koniec okresu, ale można uzasadnić (lista utraconych numerów) | Średnie (bardziej wiarygodne, jeśli N ma dużą wartość) |
Sekwencja bazy danych | Zawsze | Tak, bez uzasadnienia | Brak |
Należy kliknąć na operację Kopiuj, aby skopiować ten kod i strukturę numeru sekwencji do innego folderu. |
Podczas wprowadzania mogą wyświetlić się następujące komunikaty ogólne oraz o błędach :
Została wykonana próba w celu zdefiniowania serii numerów sekwencji z dwoma składnikami typu Numer sekwencji (jeden numer sekwencji jest dozwolony przez serię numeru sekwencji).
Żądana długość jest niezgodna z definicją (na przykład rok z 8 cyframi lub miesiąc z 5 znakami).
Całkowita długość serii numeru sekwencji przekracza 20 znaków lub suma długości składników różni się od całkowitej dozwolonej długości.
Wprowadzona formuła obliczeniowa ma nieprawidłową składnię.
Licznik opierający się o sekwencję działa w oparciu o tabelę istniejącą w bieżącym folderze. Nie jest to przypadek dla tego typu tabeli.
Licznik oparty o sekwencję bazy danych może zezwalać tylko na jedną sekwencję numerowania (a więc na poziomie folderu) i nie można go wyzerować.